package org.cyclopsgroup.jmxterm.utils;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
/**
* This is an utility to parse string value from input. It's only to parse a value such as MBean attribute value or
* parameter of operation. It's NOT designed to parse MBean name or other type of input.
*
* @author $Author$
* @version $Revision$ in $Change$ submitted at $DateTime$
*/
public class ValueFormat
{
/**
* Keyword that identifies NULL pointer <code>null</code>
*/
public static final String NULL = "null";
private ValueFormat()
{
}
/**
* Parse given syntax of string
*
* @param value String value
* @return Escaped string value
*/
public static String parseValue(String value)
{
if (StringUtils.isEmpty(value))
{
return null;
}
if (value.equals(NULL))
{
return null;
}
String s;
if (value.charAt(0) == '\"' && value.charAt(value.length() - 1) == '\"')
{
s = value.substring(1, value.length() - 1);
}
else
{
s = value;
}
return StringEscapeUtils.unescapeJava(s);
}
}